dual-encoder framework